solve_qr Interface

public interface solve_qr

Module Procedures

private pure function solve_qr_no_pivot_mtx(a, tau, b) result(x)

Solves a system of M QR-factored equations of N unknowns. M must be greater than or equal to N.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:) :: a

The M-by-N QR factored matrix as returned by qr_factor.

real(kind=real64), intent(in), dimension(:) :: tau

A MIN(M, N)-element array containing the scalar factors of the elementary reflectors as returned by qr_factor.

real(kind=real64), intent(in), dimension(:,:) :: b

The M-by-NRHS right-hand-side matrix.

Return Value real(kind=real64), allocatable, dimension(:,:)

The N-by-NRHS solution matrix.

private pure function solve_qr_no_pivot_mtx_cmplx(a, tau, b) result(x)

Solves a system of M QR-factored equations of N unknowns. M must be greater than or equal to N.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(in), dimension(:,:) :: a

The M-by-N QR factored matrix as returned by qr_factor.

complex(kind=real64), intent(in), dimension(:) :: tau

A MIN(M, N)-element array containing the scalar factors of the elementary reflectors as returned by qr_factor.

complex(kind=real64), intent(in), dimension(:,:) :: b

The M-by-NRHS right-hand-side matrix.

Return Value complex(kind=real64), allocatable, dimension(:,:)

The N-by-NRHS right-hand-side matrix.

private pure function solve_qr_no_pivot_vec(a, tau, b) result(x)

Solves a system of M QR-factored equations of N unknowns. M must be greater than or equal to N.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:) :: a

The M-by-N QR factored matrix as returned by qr_factor.

real(kind=real64), intent(in), dimension(:) :: tau

A MIN(M, N)-element array containing the scalar factors of the elementary reflectors as returned by qr_factor.

real(kind=real64), intent(in), dimension(:) :: b

The M-element right-hand-side vector.

Return Value real(kind=real64), allocatable, dimension(:)

The N-element solution vector.

private pure function solve_qr_no_pivot_vec_cmplx(a, tau, b) result(x)

Solves a system of M QR-factored equations of N unknowns. M must be greater than or equal to N.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(in), dimension(:,:) :: a

The M-by-N QR factored matrix as returned by qr_factor.

complex(kind=real64), intent(in), dimension(:) :: tau

A MIN(M, N)-element array containing the scalar factors of the elementary reflectors as returned by qr_factor.

complex(kind=real64), intent(in), dimension(:) :: b

The M-element right-hand-side vector.

Return Value complex(kind=real64), allocatable, dimension(:)

The N-element solution vector.

private pure function solve_qr_pivot_mtx(a, tau, jpvt, b) result(x)

Solves a system of M QR-factored equations of N unknowns.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:) :: a

The M-by-N QR factored matrix as returned by qr_factor.

real(kind=real64), intent(in), dimension(:) :: tau

A MIN(M, N)-element array containing the scalar factors of the elementary reflectors as returned by qr_factor.

integer(kind=int32), intent(in), dimension(:) :: jpvt

An N-element array, as output by qr_factor, used to track the column pivots.

real(kind=real64), intent(in), dimension(:,:) :: b

The MAX(M, N)-by-NRHS right-hand-side matrix.

Return Value real(kind=real64), allocatable, dimension(:,:)

The N-by-NRHS solution matrix.

private pure function solve_qr_pivot_mtx_cmplx(a, tau, jpvt, b) result(x)

Solves a system of M QR-factored equations of N unknowns.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(in), dimension(:,:) :: a

The M-by-N QR factored matrix as returned by qr_factor.

complex(kind=real64), intent(in), dimension(:) :: tau

A MIN(M, N)-element array containing the scalar factors of the elementary reflectors as returned by qr_factor.

integer(kind=int32), intent(in), dimension(:) :: jpvt

An N-element array, as output by qr_factor, used to track the column pivots.

complex(kind=real64), intent(in), dimension(:,:) :: b

The M-by-NRHS right-hand-side matrix.

Return Value complex(kind=real64), allocatable, dimension(:,:)

The N-by-NRHS solution matrix.

private pure function solve_qr_pivot_vec(a, tau, jpvt, b) result(x)

Solves a system of M QR-factored equations of N unknowns.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:) :: a

The M-by-N QR factored matrix as returned by qr_factor.

real(kind=real64), intent(in), dimension(:) :: tau

A MIN(M, N)-element array containing the scalar factors of the elementary reflectors as returned by qr_factor.

integer(kind=int32), intent(in), dimension(:) :: jpvt

An N-element array, as output by qr_factor, used to track the column pivots.

real(kind=real64), intent(in), dimension(:) :: b

The M-element right-hand-side vector.

Return Value real(kind=real64), allocatable, dimension(:)

The N-element solution vector.

private pure function solve_qr_pivot_vec_cmplx(a, tau, jpvt, b) result(x)

Solves a system of M QR-factored equations of N unknowns.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(in), dimension(:,:) :: a

The M-by-N QR factored matrix as returned by qr_factor.

complex(kind=real64), intent(in), dimension(:) :: tau

A MIN(M, N)-element array containing the scalar factors of the elementary reflectors as returned by qr_factor.

integer(kind=int32), intent(in), dimension(:) :: jpvt

An N-element array, as output by qr_factor, used to track the column pivots.

complex(kind=real64), intent(in), dimension(:) :: b

The M-element right-hand-side vector.

Return Value complex(kind=real64), allocatable, dimension(:)

The N-element solution vector.